As it is generally known, the Hypertext Transfer Protocol (HTTP) is an application layer networking protocol that is a technical foundation for data communications in the World Wide Web (Web). HTTP defines a request-response protocol that is based on a client-server computing model. For example, a user agent such as a Web browser in an end user device may operate as a client, and an application providing a Website and running on a physical or virtual host server computer may operate as a server. HTTP defines the semantics of HTTP messages, including request methods, request header fields, response status codes, and response header fields, along with the body of HTTP messages. Web resources such as Web pages are generally identified and located in HTTP using Uniform Resource Locators (URLs), which are a type of Uniform Resource Identifier (URI).
When a client issues an HTTP request to a server, the server returns a response message containing a request completion status, and possibly containing the requested content within its message body. One type of response message defined by HTTP is a redirect message. A redirect message causes a recipient client to issue a request for a Web resource identified by a URL that is contained within the redirect message. In this way, a redirect message causes the client to be “redirected” to a Web resource that is located at a URL that is contained within the redirect message.
Some Web applications allow the HTTP requests that they process to specify a URL to which the client is to be redirected after the application performs one or more actions. Such applications are referred to herein as “redirecting” applications. Redirecting Web applications examine a query string portion of HTTP request messages they receive, in order to extract a URL from a predefined parameter contained within the query string of the request message. These applications redirect the client to the extracted URL after completing one or more requested actions. This type of query string parameter is referred to herein as a “return location parameter”, and the URL that is extracted from this type of query string parameter in a request message is referred to herein as a “return location” URL. After a redirecting application completes the action or actions associated with the request message, the application then operates to redirect the client to the return location URL from the return location parameter in the request, i.e. by sending an HTTP redirect message containing the return location URL to the client.